package com.seednia.module.core.user.dto;

import java.util.Date;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;

import com.seednia.foundation.framework.dto.AbstractRecord;
import com.seednia.foundation.framework.dto.Constants;
import com.seednia.foundation.framework.dto.ICriteria;

/**
 * User Criteria Class to query records
 * 
 * @author Young Suk Ahn
 */
@XmlRootElement(name = "UserCriteria", 
		namespace = "http://seednia.com/core/1.0")
@XmlType(name = "UserCriteria")
@XmlAccessorType(XmlAccessType.PROPERTY)
public class UserCriteria extends UserDto implements ICriteria {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 3909346638957690804L;

	public UserCriteria(){
		this.setSid(Constants.SID_ANY);
	}

	@Override
	public Date getCreatedBefore() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public Date getCreatedAfter() {
		// TODO Auto-generated method stub
		return null;
	}
	
	@Override
	public void setSearchText(String value)
	{
		// Must search through profile
		throw new UnsupportedOperationException();
	}

	/**
	 * To create object from JSONP string
	 * Used by the REST framework when sending this object as parameter
	 * @param jsonStr
	 * @return
	 */
	public static UserCriteria fromString(String jsonStr) {
		UserCriteria retval = (UserCriteria) AbstractRecord.fromString(UserCriteria.class, jsonStr);
		return retval;
	}
}
